
#include <sys/mman.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <linux/fb.h>
#include <fcntl.h>
#include <stdio.h>
#include <string.h>
#include <sys/ioctl.h>
#include <stdlib.h>

#include <disp_manager.h>
#include <font_manager.h>
#include <ui.h>


int main(int argc, char **argv)
{
	
	int error;
    pDispBuff ptDispBuff;
	Button tButton;
	Region tRegion;

	if(argc != 2)
	{
		printf("Usage: %s <font_file> \n", argv[0]);
		return -1;
	}

	/* 注册显示设备结构体 */
    DisplayInit();
	
	/*	选择一个设备作为默认的显示设备	*/
    SelectDefaultDisplay("fb");
	
	/*	初始化此设备，进行硬件初始化和显存的映射	*/
    InitDefaultDisplay();
	
	/*	获取设备的显存/帧缓冲区	*/
	ptDispBuff = GetDisplayBuffer();

	/*	注册字库结构体	*/
	FontsRegister();

	/*	选择一个字库并进行初始化	*/
	error = SelectAndInitFont("freetype", argv[1]);
	if(error != 0)
	{
		printf("SelectAndInitFont error \n");
		return -1;
	}

	tRegion.iLeftUpX = 200;
	tRegion.iLeftUpY = 200;
	tRegion.iWidth = 300;
	tRegion.iHeight = 100;
	InitButton( &tButton,"test", &tRegion,  NULL, NULL);
	tButton.OnDraw(&tButton, ptDispBuff);
	while(1)
	{
		tButton.OnPressed(&tButton, ptDispBuff, NULL);
		sleep(2);
	}
	return 0;	
}

